package com.harry.hr.utils;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class FileUpLoadUtil {	  

	/**
	 * 判断上传的文件格式的方法
	 * @param fname		文件名.扩展名
	 * @return	true or false
	 * 返回false表示文件非图形格式
	 * 返回true表示文件为图形格式
	 */	
	  private static boolean fileGeshi(String fname) {
	    // *************限制非图片文件的上传*******************
		  String fileType = (fname.substring(fname.lastIndexOf('.') + 1)).toLowerCase();
		  if ((!fileType.equals("jpg")) && (!fileType.equals("bmp"))
	      && (!fileType.equals("gif")) && (!fileType.equals("jpeg"))) {
			  // errors.add("filetype",new ActionError("error.file.type"));
			  // saveErrors(request,errors);
			  return false;
		 }
		  	return true;
		 }
	  
	  
	  /**
	   * 判断文件长度的方法
	   * @param size		int文件长度
	   * @return	true or false
	   * 返回true表示文件长度小于2M，返回false表示文件长度大于2M
	   */
	  private boolean fileDAx(int size) {
		  if (size > 2097152) {
			  // errors.add("size",new ActionError("error.file.size"));
			  // saveErrors(request,errors);
			  // return (new ActionForward(mapping.getInput()));
			  return false;
		  }
		  	return true;
		 }


	  
	  /**
	   * 上传文件的方法
	   * @param filePath				上传路径
	   * @param fileName				文件名
	   * @param is							输入流
	   * @throws IOException		抛出io异常
	   */
	  private void uploadFile(String filePath, String fileName, InputStream is)
	   throws IOException {
	  OutputStream os = new FileOutputStream(filePath + fileName);
	  // 8k缓存数据
	  byte[] buffer = new byte[1024 * 8];
	  // 设置读进缓存的字节数
	  int len;
	  while ((len = is.read(buffer)) != -1) {
	   // 将缓存数据写入磁盘
	   os.write(buffer, 0, len);
	  }
	  // 关闭输出流
	  os.close();
	  // 关闭输入流
	  is.close();
	 }
}